%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%W  Update                      GAP Maintenance
%%
%%
%Y  Copyright (C)  2005,  Lehrstuhl D für Mathematik,  RWTH Aachen,  Germany
%%
%%  This file is intended to list the changes that will be published with
%%  the next update of GAP.
%%  The information is used for producing the announcement of the update,
%%  the additions to `tst/bugfix.tst', and an HTML page that lists the
%%  known bugs and intended new features.
%%
%%  For adding a change, just copy one of the templates below to the end of the
%%  file, and enter the relevant information.
%%
%%  Formal rules for this file, to allow simple parsing by a script:
%%          - lines starting with `%' are comments and are ignored
%%          - lines starting with `!' describe the type of information
%%            in the following lines until the next `!'-line
%%          - each entry must be finished with an `! End' line, otherwise
%%            the order of entries is irrelevant
%%          - the text behind the `!' is case and whitespace insensitive
%%

%%%%%%%%%%%%  short template without comments, below is a longer one  %%%%%%%%
! Date

! Changed by

! Reported by

! Type of Change
Fix: wrong result
Fix: inappropriate error message
Fix: infinite loop
Fix: efficiency issue
Fix: crash
Fix: internal data corruption
New: extended functionality
New: new functionality
New: changed functionality
New: improved documentation

! Description

! Test Code

! Prefetch

! Changed Files

! End



%%%%%%%%%%%%  Template with explanatory comments    %%%%%%%%%%%%%%%%%%%%%%%%%%
% When the change was checked in, format 'yyyy/mm/dd':
! Date

% Initials should suffice here:
! Changed by

% Only if applicable:
! Reported by

% Choose one or more entries and/or add new ones; but always use either
% the 'Fix:' or the 'New:' prefix
! Type of Change
Fix: wrong result
Fix: inappropriate error message
Fix: infinite loop
Fix: efficiency issue
Fix: crash
New: extended functionality
New: new functionality
New: changed functionality
New: improved documentation

% For the description use (X)HTML (preferred) or plain text:
% For HTML use in particular the following markup:
%     for package names: <span class="pkgname">...</span>
%     for GAP names: <span class="code">...</span>
! Description

% If possible, provide some code in test file format which allows to check
% if a change was applied to an installation. Provide input and output,
% including prompts, exactly as in a GAP session.
! Test Code

% If possible, provide some information about a temporary fix, workaround,
% ..., maybe with a link to some longer description or a file with some
% code. Use (X)HTML here.
! Prefetch

% White space separated list of paths relative to the GAP root directory.
% (This is implicitly contained in the data of the CVS repository, but in
% case of problems after changes it may be convenient to have this
% information here.)
! Changed Files

% Finish your entry with this:
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2008/12/15
! Changed by
TB
! Reported by
Anvita <anvita21@gmail.com>
! Type of Change
Fix: inappropriate error message
! Description
The membership test for a group of finite field elements
ran into an error if the zero element of the field was given
as the first argument.
! Test Code
gap> 0*Z(5) in Group( Z(5) );
false
! Changed Files
lib/fieldfin.gi
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2009/02/04
! Changed by
FL
! Reported by
AK
! Type of Change
Fix: crash
! Description
GAP crashed when the intersection of ranges became empty.
! Test Code
gap> Intersection([1..3],[4..5],[6,7]);
[  ]
! Changed Files
src/range.c
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2009/02/23
! Changed by
AH
! Reported by
Volker Braun
! Type of Change
Fix: inappropriate error message
! Description
IrreducibleRepresentationsDixon did not accept a list with one character as
second argument.
! Test Code
gap> chi:=Irr(CyclicGroup(3))[2];;
gap> IrreducibleRepresentationsDixon(UnderlyingGroup(chi),[chi]);;
! Changed Files
lib/ctblgrp.gi
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2009/02/25
! Changed by
TB
! Type of Change
Fix: efficiency issue
! Description
A high rank method for the operation
<mixer manual="Reference: IndexNC"><span class="code">IndexNC</span></mixer>
is now installed for the situation that the
<mixer manual="Reference: Size"><span class="code">Size</span></mixer>
values of its arguments are known and the second argument is a finite group.
! Test Code
gap> # Without the new method, the following gets stuck in a
gap> # `NiceMonomorphism' computation.
gap> IndexNC( GL(30,17), SL(30,17) );
16
! Changed Files
lib/grp.gi
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2009/03/23
! Changed by
FL
! Reported by
Simone Ugolini
! Type of Change
Fix: crash
! Description
GAP crashed when started in a terminal with more than 256 columns. Now only
the first 256 columns are used.
! Test Code
# no testing on GAP level since SizeScreen was correct
! Changed Files
src/sysfiles.c
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2009/05/10
! Changed by
AH
! Reported by
Philipp Schneider
! Type of Change
Fix: inappropriate error message
! Description
Constant polynomials need to be recognized as univariate in any variable.
! Changed Files
lib/ratfunul.gi
lib/ringpoly.gi
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2009/05/14
! Changed by
AH
! Reported by
Volker Braun
! Type of Change
Fix: inappropriate error message
! Description
Special treatment for element comparison in the trivial fp group.
! Changed Files
lib/grpfp.gi
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2009/05/26
! Changed by
AH
! Reported by
Mark Dickinson
! Type of Change
Fix: missing error message
! Description
QuotientRemainder methods for the laurent polynomial representation only
apply to proper polynomials
! Changed Files
lib/ratfunul.gi
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2009/05/28
! Changed by
BH
! Reported by
Benjamin Sambale
! Type of Change
Fix: crash
Fix: wrong result
New: extended functionality
! Description
The semidirect product method for pcgs computable groups sometimes tried to use 
finite presentations which weren't polycyclic. This usually happens when the
groups are not pc groups. The risk for a wrong result is very low.
! Test Code
gap> G:=AlternatingGroup(4);;
gap> N:=Subgroup(G,[(1,2)(3,4),(1,3)(2,4)]);;
gap> H:=DirectProduct(CyclicGroup(2),CyclicGroup(2));;
gap> A:=AutomorphismGroup(H);;
gap> P:=SylowSubgroup(A,3);;
gap> epi:=NaturalHomomorphismByNormalSubgroup(G,N);;
gap> iso:=IsomorphismGroups(FactorGroup(G,N),P);;
gap> f:=CompositionMapping(IsomorphismGroups(FactorGroup(G,N),P),epi);;
gap> SemidirectProduct(G,f,H);
<pc group of size 48 with 5 generators>
! Changed Files
lib/grppcext.gi
lib/gprdpc.gi
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2009/06/25
! Changed by
FL
! Reported by
Andries Brouwer
! Type of Change
Fix: missing error handling
! Description
With newer gcc versions the option -D_FORTIFY_SOURCE=2 is enabled by -Wall.
This reveals that the return value of system 'write' commands was not
checked in the GAP kernel. It is checked now and in case of an error a message
is printed.
! Changed Files
src/saveload.c
src/sysfiles.c
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2009/07/08
! Changed by
TB
! Reported by
Rene Hartung
! Type of Change
Fix: inappropriate error message
! Description
Redeclaring an operation with
<mixer manual="Prg Tutorial: DeclareOperation"><span class="code">
DeclareOperation</span></mixer>
that had been created with
<mixer manual="Prg Tutorial: DeclareAttribute"><span class="code">
DeclareAttribute</span></mixer>
shall cause an informative error message.
Before this change, one got only a cryptic error message.
! Test Code
gap> # no test code, since one gets an error before and after the change
gap> # DeclareAttribute( "test", IsObject );
gap> # DeclareOperation( "test", [ IsObject ] );
! Changed Files
lib/oper.g
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2009/09/23
! Changed by
AH
! Reported by
Joe Bohanon
! Type of Change
Fix: wrong result
! Description
IsPSL (and in turn StructureDescription) erroneously recognize non-PSL
groups of the right order as PSL.
! Test Code
gap> g:=DirectProduct(DihedralGroup(14),SmallGroup(1440,120));;
gap> PositionSublist(StructureDescription(g),"PSL");
fail
! Changed Files
lib/grpnames.gi
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2009/09/25
! Changed by
TB
! Type of Change
Fix: inappropriate error message
! Description
The image of a class function under a Galois automorphism is defined
by applying this automorphism pointwise.
For the case of an identity mapping, no method was found.
! Test Code
lin:= LinearCharacters( CyclicGroup( 3 ) );;
lin[2] ^ One( GaloisGroup( CF(3) ) );;
! Changed Files
lib/ctblfuns.gi
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2009/09/30
! Changed by
TB
! Reported by
Laurent Bartholdi
! Type of Change
Fix: inappropriate error message
! Description
Comparing two trivial row or matrix spaces with
<span class="code">\&lt;</span> ran into an error.
! Test Code
gap> v:= GF(2)^1;;
gap> Subspace( v, [] ) < Subspace( v, [] );
false
gap> v:= GF(2)^[1,1];;
gap> Subspace( v, [] ) < Subspace( v, [] );
false
! Changed Files
lib/module.gi
lib/vspcrow.gi
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2009/12/01
! Changed by
AH
! Reported by
Volker Braun
! Type of Change
Fix: wrong result
! Description
Composing a homomorphism perm -> fp with a second homomorphism can give
wrong results.
! Changed Files
lib/ghomperm.gi
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2010/09/06
! Changed by
TB
! Type of Change
Fix: inappropriate error message
! Description
Testing the conjugacy of two matrices that are not contained in the
group in question ran into an error.
Note that the documentation allows this,
see <mixer manual="Reference: IsConjugate"><span class="code">IsConjugate
</span></mixer>.
! Test Code
gap> G:= SL( 2, 3 );;
gap> x:= [ [ Z(9), 0*Z(3) ], [ 0*Z(3), Z(3)^0 ] ];;
gap> y:= [ [ Z(3)^0, 0*Z(3) ], [ 0*Z(3), Z(9) ] ];;
gap> IsConjugate( G, x, y );
true
! Changed Files
lib/grpnice.gi
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2010/10/06
! Changed by
TB
! Type of Change
Fix: wrong result
! Description
For certain arguments, the function 
<mixer manual="Reference: EU"><span class="code">EU</span></mixer>
returned wrong results.
! Test Code
gap> EU(7,2);
-1
! Changed Files
lib/cyclotom.gi
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2010/10/20
! Changed by
TB
! Reported by
Serge Bouc
! Type of Change
Fix: wrong result
! Description
In the table of marks of cyclic groups,
the <mixer manual="Reference: NormalizersTom">
<span class="code">NormalizersTom</span></mixer> value was wrong.
! Test Code
gap> NormalizersTom( TableOfMarks( CyclicGroup( 3 ) ) );
[ 2, 2 ]
! Changed Files
lib/tom.gi
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2010/10/27
! Changed by
TB
! Type of Change
Fix: wrong result
! Description
The function <mixer manual="Reference: PermChars">
<span class="code">PermChars</span></mixer> returned a perhaps wrong result
when the second argument was a positive integer (not a record)
and the trivial character of the character table given as the first argument
was not the first in the list of irreducibles.
! Test Code
gap> PermChars( CharacterTable( SymmetricGroup( 3 ) ), 3 );
[ Character( CharacterTable( Sym( [ 1 .. 3 ] ) ), [ 3, 1, 0 ] ) ]
! Changed Files
lib/ctblpope.gi
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2010/11/11
! Changed by
AH
! Reported by
V. Dabbaghian
! Type of Change
Fix: wrong result
! Description
Polynomial factorization over Q can miss factors of degree >deg/2 if they
have very small coefficients, while the cofactor has large coefficients.
! Test Code
gap> x:=X(Rationals);;IsIrreducible(x^3-7381125*x^2-5*x+36905625);
false
! Changed Files
lib/polyrat.gi
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2011/03/09
! Changed by
JS
! Reported by
W. DeMeo
! Type of Change
Fix: wrong result
! Description
<mixer manual="Reference: IntermediateSubgroups"><span 
class="code">IntermediateSubgroups</span></mixer> when called on a group and
a normal subgroup did not properly calculate maximal inclusion relationships.
Second-maximal subgroup inclusions were properly omitted, but third maximal,
etc. were not.
! Test Code
gap> g:=CyclicGroup(2^6);; IntermediateSubgroups( g, TrivialSubgroup(g) ).inclusions;
[ [ 0, 1 ], [ 1, 2 ], [ 2, 3 ], [ 3, 4 ], [ 4, 5 ], [ 5, 6 ] ]
! Changed Files
lib/grplatt.gi
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2011/04/29
! Changed by
TB
! Reported by
F. Petenyi
! Type of Change
Fix: wrong result
! Description
The function <mixer manual="Reference: CentreOfCharacter">
<span class="code">CentreOfCharacter</span></mixer>
and the function
<mixer manual="Reference: ClassPositionsOfCentre">
<span class="code">ClassPositionsOfCentre</span></mixer>
with argument a group character
returned a perhaps too large result.
! Test Code
gap> t:= CharacterTable( SmallGroup( 72, 26 ) );;
gap> Set( List( Irr( t ), x -> Size( CentreOfCharacter( x ) ) ) );
[ 6, 12, 18, 72 ]
! Changed Files
lib/ctblfuns.gi
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2011/06/01
! Changed by
TB
! Reported by
xiaolei zhang
! Type of Change
Fix: inappropriate error message
! Description
The function <mixer manual="Reference: Trace">
<span class="code">Trace</span></mixer>
with argument an element of a finite field that was created with
<mixer manual="Reference: AlgebraicExtension">
<span class="code">AlgebraicExtension</span></mixer>
ran into an error.
! Test Code
gap> F2:= GF( 2 );;
gap> x:= Indeterminate( F2 );;
gap> F:= AlgebraicExtension( F2, x^2+x+1 );;
gap> Trace( RootOfDefiningPolynomial( F ) );
Z(2)^0
! Changed Files
lib/field.gd
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2009/03/13
! Changed by
FL
! Type of Change
New: improved documentation and fix of efficiency issue
! Description
Documented 
<mixer manual="Reference: IsBlistRep">
<span class="code">IsBlistRep</span></mixer> 
and
<mixer manual="Reference: ConvertToBlistRep">
<span class="code">ConvertToBlistRep</span></mixer>,
improved documentation of blists and fixed expansion of blists 
to plain lists by some list handling methods.
! Test Code
gap> b:=BlistList([1..4],[1,2]);
[ true, true, false, false ]
gap> b{[1,2]} := [false,false];
[ false, false ]
gap> IsBlistRep(b);
true
! Changed Files
doc/ref/blist.xml
lib/list.g
src/blister.c
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2009/04/01
! Changed by
FL
! Type of Change
Fix: efficiency issue
! Description
Made 
<mixer manual="Reference: MemoryUsage">
<span class="code">MemoryUsage</span></mixer>
much more efficient, in particular on large objects.
! Changed Files
lib/object.g*
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2010/03/08
! Changed by
FL
! Type of Change
New: new functionality
! Description
GAP can now be compiled with readline support for line editing. Some
advantage are: works with unicode terminals, highly configurable, 
nicer handling of long input lines,  improved TAB-completion. 
(see 
<mixer manual="Reference: Editing using the readline library"><span
class="code">??readline</span></mixer> for documentation).
! Changed Files
lib/cmdledit.g
src/sysfiles.c
doc/ref/mloop.xml
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2009/09/25
! Changed by
FL
! Reported by
Simon King
! Type of Change
Fix: crash, internal data corruption
! Description
Fixed problem with resetting the kernels recursion depth counter when running 
into many break loops.
! Changed Files
src/funcs.*
src/gap.c
src/streams.c
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2010/02/03
! Changed by
FL
! Type of Change
New: defined file encoding to be UTF-8
! Description
Now all files in the GAP core distribution use UTF-8 file encoding
(old hacks to specify non-ASCII characters were removed).
! Changed Files
about 4700 different files
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2010/10/25
! Changed by
various
! Type of Change
Fix: shorter startup banner
! Description
GAP now shows a shorter and more informative banner at startup (if not
switched off via -b).
! Changed Files
lib/init.g
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2010/03/17
! Changed by
FL
! Type of Change
Fix: internal data corruption
! Description
GAP behaves now much better when the printing of a (large) object is
interrupted with Ctrl-c. The object is no longer corrupted and the
indentation level is reset.
! Changed Files
src/gap.c
src/objects.*
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2010/05/03
! Changed by
FL
! Type of Change
Fix: documentation
! Description
Adjusted the documentation of 
<mixer manual="Reference: Random Elements">
Random elements</mixer> to the setup with the Mersenne twister and
random sources.
! Changed Files
doc/ref/coll.xml
lib/coll.g*
lib/obsolete.g
lib/random.g*
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2010/09/29
! Changed by
FL
! Reported by
Ramon Esteban-Romero
! Type of Change
Fix: wrong result
! Description
Made 
<mixer manual="Reference: IsSupersolvableGroup">
<span class="code">IsSupersolvableGroup</span></mixer>
work for (not yet know to be) trivial group.
! Changed Files
lib/grppcprp.gi
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2010/09/20
! Changed by
FL
! Type of Change
New: new functionality
! Description
Added an operation 
<mixer manual="Reference: Shuffle">
<span class="code">Shuffle</span></mixer>
for lists.
! Changed Files
doc/ref/lists.xml
lib/list.g*
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2010/09/20
! Changed by
FL
! Type of Change
New: new functionality
! Description
Added a function
<mixer manual="Reference: PrimeDivisors">
<span class="code">PrimeDivisors</span></mixer>.
! Changed Files
doc/ref/integers.xml
lib/integer.g*
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2010/09/17
! Changed by
FL
! Type of Change
Fix: limitation of columns
! Description
GAP does now support up to 4096 columns in a terminal 
(this can be changed at compile time via the variable
<span class="code">MAXLENOUTPUTLINE</span> in 
<span class="code">src/config.h</span>.
! Changed Files
src/gap.c
src/scanner.*
src/sysfiles.c
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2010/09/15
! Changed by
FL
! Type of Change
New: new functionality
! Description
New iterators and enumerators are available: 
<mixer manual="Reference: EnumeratorOfCombinations">
<span class="code">EnumeratorOfCombinations</span></mixer>,
<mixer manual="Reference: IteratorOfCombinations">
<span class="code">IteratorOfCombinations</span></mixer>,
<mixer manual="Reference: IteratorOfPartitions">
<span class="code">IteratorOfPartitions</span></mixer>.
! Changed Files
doc/ref/combinat.xml
lib/coll.g*
lib/combinat.g*
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2010/09/07
! Changed by
FL
! Type of Change
Fix: machine dependency
! Description
The Mersenne twister implementation is made independent of endianness, seeds
can be now be transferred between architectures.
! Changed Files
src/gmpints.c
src/integers.c
lib/random.gi
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2011/01/18
! Changed by
FL
! Reported by
Chris Jefferson
! Type of Change
Fix: syntax that can be misunderstood
! Description
GAP no longer accepts multiple unary + or - signs. This is to avoid
misunderstandings because double ++ or -- mean increment and decrement 
in many other programming languages.
! Changed Files
src/read.c
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2011/02/09
! Changed by
FL
! Type of Change
Fix: interface error
! Description
There are no more partial prompts when GAP is started with -q option.
! Changed Files
src/read.c
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2011/02/05
! Changed by
FL
! Type of Change
New: extended functionality
! Description
Now GAP expands paths with "~/" in -l options correctly.
! Changed Files
src/system.c
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2011/07/13
! Changed by
FL
! Type of Change
New: extended functionality
! Description
Support for 
<span class="code">SetPrintFormattingStatus("*stdout*",false);</span>
to switch off the automatic line breaking in terminal output.
! Test Code
gap> SetPrintFormattingStatus("*stdout*",false);
gap> [1..100]+0;
[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100 ]
gap> SetPrintFormattingStatus("*stdout*",true);
! Changed Files
lib/streams.gi
src/scanner.c
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2011/09/29
! Changed by
FL
! Type of Change
New: extended functionality
! Description
The <span class=code>List</span> command now works in a documented way for
lists with holes, see 
<mixer manual="Reference: List (for a list (and a function))">
<span class="code">List(list[, func])</span></mixer>.
! Test Code
gap> List([1,,3],x->x^2);
[ 1,, 9 ]
! Changed Files
lib/coll.g*
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2011/11/24
! Changed by
FL
! Type of Change
New: new functionality
! Description
The behaviour of 
<span class=code>Info</span> statements can now be configured (per 
<span class=code>Info</span> class). The way arguments are printed can
be changed and the output stream can be configured, see
<mixer manual="Reference: Customizing Info">
Customizing Info statements</mixer>.
! Changed Files
lib/info.g*
doc/ref/debug.xml
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2011/11/20
! Changed by
FL
! Type of Change
Fix: documented functionality
! Description
Now <span class=code>AppendTo</span> works with 
<span class=code>"*errout*"</span> and
<span class=code>"*stdout*"</span>.
! Test Code
gap> AppendTo("*stdout*","Hi!\n");
Hi!
! Changed Files
src/sysfiles.c
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2011/11/09
! Changed by
FL
! Type of Change
New: new functionality
! Description
The source code of a function can be read with 
<mixer manual="Reference: PageSource">
<span class="code">PageSource</span></mixer>.
! Changed Files
lib/methwhy.g
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2011/12/20
! Changed by
FL
! Type of Change
New: extended functionality
! Description
Large integers are now displayed by a short string showing the first and 
last few digits. What "large" means is user configurable.
! Test Code
gap> 2^1000000;
<integer 990...376 (301030 digits)>
! Changed Files
lib/integer.g*
lib/init.g
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2012/01/23
! Changed by
FL
! Type of Change
New: new functionality
! Description
GAP has a new function 
<mixer manual="Reference: Test">
<span class="code">Test</span></mixer>
which can substitute the less flexible 
<span class="code">ReadTest</span> function.
! Changed Files
lib/test.g*
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2012/04/12
! Changed by
AK
! Type of Change
New: changed functionality
! Description
Renamed
<span class=code>Complementclasses</span> 
to 
<span class=code>ComplementClassesRepresentatives</span> 
and
<span class=code>ComplementclassesEA</span> 
to
<span class=code>ComplementClassesRepresentativesEA</span>.
! Changed Files
doc/ref/groups.xml lib/ctblsolv.gi lib/ghomfp.gi lib/grpcompl.gi
lib/grppcaut.gi lib/grppccom.gd lib/grppccom.gi lib/morpheus.gi 
lib/obsolete.gd lib/onecohom.gd lib/onecohom.gi lib/transatl.g
tst/bugfix.tst tst/grppc.tst tst/onecohom.tst tst/sanity.g
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2012/01/18
! Changed by
AK
! Type of Change
New: improved documentation
! Description
Documentation of <span class=code>ImagesSet</span> states that the result 
may be be a proper set or a domain.
! Changed Files
lib/mapping.gd
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2010/10/14
! Changed by
AK
! Type of Change
New: improved documentation
! Description
Stated that the upper limit on the number of simultaneosly opened files is 15.
! Changed Files
doc/ref/files.xml
lib/files.gd
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2011/01/20
! Changed by
AK
! Type of Change
New: improved documentation
! Description
Documented <span class=code>IsRectangularTable</span> property.
! Changed Files
doc/ref/lists.xml
lib/list.g
lib/matrix.gd
tst/matrix.tst
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2011/01/24
! Changed by
AK
! Type of Change
New: changed functionality
! Description
<span class=code>DisplayRevision</span> made obsolete.
! Changed Files
doc/ref/debug.xml
lib/obsolete.gd
lib/profile.g
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2011/10/15
! Changed by
AK
! Type of Change
New: changed functionality
! Description
<span class=code>AffineOperation</span>,
<span class=code>AffineOperationLayer</span> and
<span class=code>FactorCosetOperation</span>
are withdrawn from the documentation and made obsolete. Instead, 
one should use  
<span class=code>AffineAction</span>,
<span class=code>AffineActionLayer</span>
and
<span class=code>FactorCosetAction</span>.
! Changed Files
lib/grppc.gd
lib/grppcint.gi
lib/obsolete.gd
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2011/05/11
! Changed by
AK
! Type of Change
New: extended functionality
! Description
Changed the declaration and added method for 
<span class=code>PositionProperty</span> to support non-dense lists.
! Changed Files
lib/list.*
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2011/04/10
! Changed by
AK
! Reported by
LB
! Type of Change
New: extended functionality
! Description
Added method for <span class=code>AdditiveInverseOp</span> 
for <span class=code>IsNullMapMatrix</span>.
! Changed Files
lib/matrix.gi
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2011/07/09
! Changed by
AK
! Type of Change
New: improved documentation
! Description
Documented <span class=code>START_TEST</span> and 
<span class=code>STOP_TEST</span> functions 
which may be optionally used in test files.
! Changed Files
doc/ref/debug.xml
lib/files.gd
lib/profile.g
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2010/08/02
! Changed by
AK
! Type of Change
New: changed functionality
! Description
<span class=code>ProductPol</span> made obsolete.
! Changed Files
doc/ref/vector.xml 
lib/listcoef.*
lib/obsolete.*
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2010/10/02
! Changed by
AK
! Type of Change
New: changed functionality
New: improved documentation
! Description
<span class=code>TeXObj</span> and <span class=code>LaTeXObj</span> made obsolete.
Index entries added to the documentation of all LaTeX string producing functions.
! Changed Files
doc/ref/string.xml
lib/ctbl.gd
lib/ctblpope.gd
lib/ffe.gi
lib/grpfp.gi
lib/matrix.gi
lib/obsolete.*
lib/oper.g
lib/ratfun.gi
lib/rational.gi
lib/straight.gd
lib/wordlett.gi
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2011/12/02
! Changed by
AK
! Type of Change
New: changed functionality
! Description
<span class=code>ValidatePackageInfo</span> allows to omit components
<span class=code>Email</span>, <span class=code>WWWHome</span> and
<span class=code>PostalAddress</span> for package authors who are not 
maintainers.
! Changed Files
lib/package.gi
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2012/04/26
! Changed by
AK
! Type of Change
New: changed functionality
! Description
<span class=code>ValidatePackageInfo</span> requires mandatory
<span class=code>PackageDoc.ArchiveURLSubset</span> component.
<span class=code>PackageDoc.Archive</span> component has been
withdrawn.
! Changed Files
lib/package.gi
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2010/10/10
! Changed by
AK
! Type of Change
New: changed functionality
! Description
testall.g is now a much longer test, and its previous content is now in
testinstall.g. 
! Changed Files
Makefile.in
doc/ref/install.xml
doc/ref/makedocreldata.g 
tst/*.tst
tst/testall.g
tst/testinstall.g 
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2011/01/16
! Changed by
AK
! Type of Change
New: improved documentation
! Description
Documented the possibility to re-declare an operation with another number 
of arguments and/or different filters for its arguments.
! Changed Files
doc/prg/intrfc.xml
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2011/05/16
! Changed by
AK
! Type of Change
New: changed functionality
! Description
<span class=code>X</span> as a synonym for 
<span class=code>Indeterminate</span> is now supported only 
for backwards compatibility. We recommend not to use 
<span class=code>X</span> in your code.
! Changed Files
doc/ref/ratfun.xml
lib/ringpoly.*
lib/algfld.gi
lib/ctblfuns.gi
lib/galois.gi
lib/groebner.*
lib/matrix.gd
lib/ratfun.gd
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2011/05/20
! Changed by
AK
! Type of Change
New: extended functionality
! Description
Added support for the Google Chrome browser 
in <span class=code>SetHelpViewer</span>.
! Changed Files
doc/ref/help.xml
lib/helpview.gi
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2011/02/25
! Changed by
AK
! Type of Change
New: extended functionality
! Description
Fixed the problem of viewing help with Safari and Mac OS X default
browsers, which opened the needed chapter but not at the needed section.
! Changed Files
lib/helpview.gi
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2011/09/21
! Changed by
AK
! Type of Change
New: extended functionality
! Description
<span class=code>ValidatePackageInfo</span> allows "submitted" status of 
a package. 
! Changed Files
lib/package.gi
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2011/09/21
! Changed by
AK
! Type of Change
New: extended functionality
! Description
<span class=code>ValidatePackageInfo</span> accepts an optional component
<span class=code>TextBinaryFilesPatterns</span> with hints for classifying
package files on text/binary using wildcards. 
! Changed Files
lib/package.gi
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2011/03/25
! Changed by
AK
! Type of Change
New: improved documentation
! Description
Description of completion files is removed from the documentation 
as they are no longer supported.
! Changed Files
doc/ref/install.xml
doc/ref/libform.xml
doc/ref/run.xml
lib/oper.g
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2011/01/12
! Changed by
AK
! Type of Change
New: improved documentation
! Description
Description of the gac script is restricted to cover only building packages 
with kernel modules. Compiling the GAP code is no longer supported.
! Changed Files
doc/ext/gappkg.xml
doc/ref/run.xml
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2010/11/12
! Changed by
AK
! Type of Change
New: new functionality
! Description
<span class=code>IntChar</span>, <span class=code>CharInt</span>,
<span class=code>SIntChar</span> and <span class=code>CharSInt</span>
made available as synonyms to <span class=code>INT_CHAR</span>, 
<span class=code>CHAR_INT</span>, <span class=code>SINT_CHAR</span> and 
<span class=code>CHAR_SINT</span>. The comment about their internal 
behaviour is removed from documentation: proper error management is 
already in place.
! Changed Files
doc/ref/lists.xml
lib/list.*
lib/semirel.gi
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2010/10/20
! Changed by
AK
! Type of Change
New: new functionality
! Description
<span class=code>CopyListEntries</span> made available as a synonym to 
<span class=code>COPY_LIST_ENTRIES</span>.
! Changed Files
doc/ref/string.xml 
lib/string.gd
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! Date
2010/10/14
! Changed by
AK
! Type of Change
New: changed functionality
! Description
GAP3 compatibility mode is no longer supported. 
The -O option used to activate it is removed.
! Changed Files
doc/ref/run.xml
doc/ref/ratfun.xml
lib/compat*.g
tst/compat3.tst
tst/testall.g
! End
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
